If you have a manually defined tonality, or a melody, consisting of notes, you can extract the corresponding symbolic form with this utility. The same can be achieved with analyzer when importing MIDI files, or manually with Sym-Clavier. The function returns a zoned list of symbols, which you may extract manually for further compressing, or other processing. Note that if you supply only a single melody the output is always a flat list. This ables you to use this function to return ordinary symbol patterns from a given melody.
(tonality-to-symbols '(c 4 c# 4 d 4)
(activate-tonality (major c 4)))
--> (a (-1 b) b)
Differences between tonality-to-symbols/symbols-to-tonality. The effect of tonality-to-symbols is a mirror of the symbols-to-tonality. There are though some differences on the input, output and controlling forms. Here is an example.
(symbols-to-tonality
symbols (tonality-to-symbols '(c 4 c# 4 d 4)
(activate-tonality (major c 4)))
transpose '((0))
mapping (activate-tonality (major c 4))
)
--> ((c 4) (c# 4) (d 4))
Multiple Tonalities
If you have a zoned tonality list (an ordinary tonality list), then each of these tonalities is separately mapped onto the mapping tonality, and a zoned list is produced.
(tonality-to-symbols '((c 4 c# 4 d 4) (c 4))
(activate-tonality (chromatic c 4)))
--> ((a b c) (a))
Manual Tonalities
You can also supply the mapping tonality manually. The following shows this.
(tonality-to-symbols '((c 4 c# 4 d 4) (c 5))
'((c 4 d 4 e 4 f 4 g 4 a 4 b 4)))
--> ((a (-1 b) b) (h))
activate-tonality as Source
It is possible to use activate-tonality to create the source tonalities, as in the following.
(tonality-to-symbols (activate-tonality (major c 4))
(activate-tonality (major c 4)))
--> ((a b c d e f g))
Multiple Sources
There can be multiple source tonalities.
(tonality-to-symbols (activate-tonality (major c 4)
(melodic-minor c 4))
(activate-tonality (major c 4)))
--> ((a b c d e f g) (a b (-1 c) d e f g))
(tonality-to-symbols (activate-tonality (major c 4)
(melodic-minor c 4)
(chromatic g 3))
(activate-tonality (major c 4)))
--> ((a b c d e f g)
(a b (-1 c) d e f g)
(-d (-1 -c) -c (-1 -b) -b a (-1 b) b (-1 c) c d (-1 e)))
Multiple Mappings
There can be multiple mapping tonalities, too. This ables to write melodies manually, and include all the different tonalities that exist in the melody, and get a non-static analysis of the source form. Supplying the tonalities may require from yourself some further (manual) chord analysis of the source material, but as a result you'll get clean symbolic representation of the contents.
Here you have a melody c d e f g a, which goes through two tonality zones (c maj 1 5) and (g aug 3 1). tonality-to-symbols returns you the corresponding symbols. If there are more source tonalities than mapping tonalities, then the mapping tonalities are recycled.
(tonality-to-symbols '((c 4 d 4 e 4) (f 4 g 4 a 4))